Lazy Dynamic Input/Output in the Lazy Functional Language Clean
نویسندگان
چکیده
In this paper we explain how dynamics can be communicated between independently programmed Clean applications. This is an important new feature of Clean because it allows type safe exchange of both data and code. In this way mobile code and plug-ins can be realized easily. The paper discusses the most important implementation problems and their solutions in the context of a compiled lazy functional language. The implemented solution reflects the lazy semantics of the language in an elegant way and is moreover quite efficient. The resulting rather complex system in which dynamics can depend on other dynamics, is effectively hidden from the user by allowing her to view dynamics as ”typed files” that can be manipulated like ordinary files.
منابع مشابه
Implementing a Functional Spreadsheet in Clean
It has been claimed that recent developments in the research on the efficiency of code generation and on graphical input/output interfacing have made it possible to use a functional language to write efficient programs that can compete with industrial applications written in a traditional imperative language. As one of the early steps in verifying this claim, this paper describes a first attemp...
متن کاملPurely Functional Monadic Scheme
This paper describes a purely functional dialect of the algorithmic programming language Scheme. Mutable variables, assignment operations and impure control operations (call-with-current-continuation) have been omitted, while side effecting input and output operations are incorporated into the purely functional language using monads, similar to the approach taken in the lazy programming languag...
متن کاملGenerating Efficient Code for Lazy Functional Languages
In this paper we will discuss how a good code generator can be built for (lazy) functional languages. Starting from Concurrent Clean, an experimental lazy functional programming language, code is generated for an intermediate abstract machine: the ABC machine. In this rst pass many well-known optimisation techniques are included. However, we will also present some new ideas in this area, like t...
متن کاملFunctional Framework for Sound Synthesis
We present an application of functional programming in the domain of sound generation and processing. We use the lazy language Clean to define purely functional stream generators, filters and other processors, such as reverberators. Audio signals are represented (before the final output to arrays processed by the system primitives) as co-recursive lazy streams, and the processing algorithms hav...
متن کاملCLEAN: a programming environment based on term graph rewriting
The main features of the lazy functional language Concurrent Clean and of its semantics based on Term Graph Rewriting are presented. 1 History The pure, lazy functional language Concurrent Clean (version 1.0) is a major upgrade of the previous release (0.84b) of Clean ((3,10,11]). Clean was originally designed as an experimental intermediate language and deliberately kept syntactically as poor ...
متن کامل